//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "ObjetoCompuesto3D.h"
//---------------------------------------------------------------------------
ObjetoCompuesto3D::ObjetoCompuesto3D(){
        _lesObjetos = new list<Objeto3D*>();
}

ObjetoCompuesto3D::ObjetoCompuesto3D(list<Objeto3D*>* listaObjetos){
        _lesObjetos=listaObjetos;
}

ObjetoCompuesto3D::~ObjetoCompuesto3D(){
        list<Objeto3D*>::iterator it;
        Objeto3D* node;

        for (it = _lesObjetos->begin(); it != _lesObjetos->end(); it++) {
                node = *it;
                delete node;
        }

        delete _lesObjetos;
}

void ObjetoCompuesto3D::dibuja(){
        list<Objeto3D*>::iterator it;
        Objeto3D* node;

        glMatrixMode(GL_MODELVIEW);
        glPushMatrix();
                glMultMatrixd(_marco->getMatriz());
                for (it = _lesObjetos->begin(); it != _lesObjetos->end(); it++) {
                        node = *it;
                        node->dibuja();
                }
        glPopMatrix();
}

//---------------------------------------------------------------------------

#pragma package(smart_init)
